package top.tenebrous.yzl.utils;

import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class Base64Util {

    /**
     * base64编码（方法二）
     * @explain Base64.java实现
     * @param str 待编码字符串
     * @return 编码字符串
     */
    public static String encode(String str) {
        // 非空字符串才进行编码
        if (str != null && str.length() > 0) {
            // String 转 byte[]
            byte[] bytes = str.getBytes(StandardCharsets.UTF_8);
            // 编码（base64字符串）
            return Base64.getEncoder().encodeToString(bytes);
        }
        return null;
    }

    /**
     * base64解码（方法二）
     * @explain Base64.java实现
     * @param base64Str 待解码字符串
     * @return 解码字符串
     */
    public static String decode(String base64Str) {
        // 非空字符串才进行解码
        if (base64Str != null && base64Str.length() > 0) {
            // 编码
            byte[] base64Bytes = Base64.getDecoder().decode(base64Str);
            // byte[] 转 String（解码后的字符串）
            return new String(base64Bytes, StandardCharsets.UTF_8);
        }
        return null;
    }

}
